<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::AnimationPath</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::AnimationPath</A></H2></H2><BLOCKQUOTE>AnimationPath for specify the time varying transformation pathway to use when update camera and model objects.</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="MTransform::ComputeTransformCallback,M,CAnimationPath,MAnimationPath.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.1">AnimationPath</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.2.2">getMatrix</A></B>(double time, <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const 
<DD><I>get the local transformation matrix for a point in time</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.2.3">getInverse</A></B>(double time, <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const 
<DD><I>get the local inverse transformation matrix for a point in time</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.2.4">computeLocalToWorldMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.94.32">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const 
<DD><I>Get the transformation matrix which moves from local coords to world coords</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.2.5">computeWorldToLocalMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.94.32">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const 
<DD><I>Get the transformation matrix which moves from world coords to local coords</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.2.7">insert</A></B>(double time, const <!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&amp; key)
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>struct  <B><A HREF="#DOC.2.2.6">Key</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.2.8">~AnimationPath</A></B>()
</DL></P>

<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::map&lt;double,<!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&gt; TimeKeyMap TimeKeyMap <B><A HREF="#DOC.2.2.9">_timeKeyMap</A></B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>AnimationPath for specify the time varying transformation pathway to use when update camera and model objects.
Subclassed from Transform::ComputeTransformCallback allows AnimationPath to
be attached directly to Transform nodes to move subgraphs around the scene.</BLOCKQUOTE>
<DL>

<A NAME="AnimationPath"></A>
<A NAME="DOC.2.2.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AnimationPath()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getMatrix"></A>
<A NAME="DOC.2.2.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool getMatrix(double time, <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const </B></TT>
<DD>get the local transformation matrix for a point in time
<DL><DT><DD></DL><P>
<A NAME="getInverse"></A>
<A NAME="DOC.2.2.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool getInverse(double time, <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const </B></TT>
<DD>get the local inverse transformation matrix for a point in time
<DL><DT><DD></DL><P>
<A NAME="computeLocalToWorldMatrix"></A>
<A NAME="DOC.2.2.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool computeLocalToWorldMatrix(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.94.32">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const </B></TT>
<DD>Get the transformation matrix which moves from local coords to world coords
<DL><DT><DD></DL><P>
<A NAME="computeWorldToLocalMatrix"></A>
<A NAME="DOC.2.2.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool computeWorldToLocalMatrix(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.94.32">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const </B></TT>
<DD>Get the transformation matrix which moves from world coords to local coords
<DL><DT><DD></DL><P>
<A NAME="Key"></A>
<A NAME="DOC.2.2.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>struct  Key</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="Key"></A>
<A NAME="DOC.2.2.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Key()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Key"></A>
<A NAME="DOC.2.2.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Key(const <!1><A HREF="Vec3.html">osg::Vec3</A>&amp; position, const <!1><A HREF="Quat.html">osg::Quat</A>&amp; rotation, const <!1><A HREF="Vec3.html">osg::Vec3</A>&amp; <!1><A HREF="Matrix.html#DOC.2.70.42">scale</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_position"></A>
<A NAME="DOC.2.2.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">osg::Vec3</A> _position</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_rotation"></A>
<A NAME="DOC.2.2.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Quat.html">osg::Quat</A> _rotation</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_scale"></A>
<A NAME="DOC.2.2.6.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">osg::Vec3</A> _scale</B></TT>
<DL><DT><DD></DL><P>
<A NAME="interpolate"></A>
<A NAME="DOC.2.2.6.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void interpolate(const float ratio, const <!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&amp; <!1><A HREF="ImpostorSpriteManager.html#DOC.2.61.3">first</A>, const <!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&amp; second)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getMatrix"></A>
<A NAME="DOC.2.2.6.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void getMatrix(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getInverse"></A>
<A NAME="DOC.2.2.6.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void getInverse(<!1><A HREF="Matrix.html">Matrix</A>&amp; matrix) const </B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="insert"></A>
<A NAME="DOC.2.2.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void insert(double time, const <!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&amp; key)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~AnimationPath"></A>
<A NAME="DOC.2.2.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~AnimationPath()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_timeKeyMap"></A>
<A NAME="DOC.2.2.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;double,<!1><A HREF="AnimationPath.html#DOC.2.2.6">Key</A>&gt; TimeKeyMap TimeKeyMap _timeKeyMap</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
